#ifndef EDITORINTERFACE_H
#define EDITORINTERFACE_H

#include <QObject>
class QJsonObject;
class DcmFileFormat;

typedef void (*EditorProc)(const QJsonObject &json, void *userData);

class EditorInterface
{
public:
    virtual ~EditorInterface() {}

    virtual QObject *getObject() = 0;
    virtual void setFileFormat(DcmFileFormat *dff) = 0;
    virtual void setEditorHook(EditorProc proc, void *userData) = 0;
};

#define EditorPlugin_iid "com.zmg.dr.plugin.editor.v100"
Q_DECLARE_INTERFACE(EditorInterface, EditorPlugin_iid)

#endif // EDITORINTERFACE_H
